// $ANTLR 3.4 src/main/resources/Model.g 2012-02-18 23:27:46
package samples;

import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class ModelLexer extends Lexer {
    public static final int EOF=-1;
    public static final int T__19=19;
    public static final int T__20=20;
    public static final int T__21=21;
    public static final int T__22=22;
    public static final int T__23=23;
    public static final int T__24=24;
    public static final int T__25=25;
    public static final int T__26=26;
    public static final int T__27=27;
    public static final int T__28=28;
    public static final int T__29=29;
    public static final int T__30=30;
    public static final int T__31=31;
    public static final int T__32=32;
    public static final int T__33=33;
    public static final int T__34=34;
    public static final int T__35=35;
    public static final int T__36=36;
    public static final int T__37=37;
    public static final int T__38=38;
    public static final int CLSS_DECL=4;
    public static final int COMMENT=5;
    public static final int FIELD_DECL=6;
    public static final int IDENTIFIER=7;
    public static final int IDXF_DECL=8;
    public static final int INDX_DECL=9;
    public static final int ITFA_DECL=10;
    public static final int LINE_COMMENT=11;
    public static final int MEMBERS=12;
    public static final int METHOD_DECL=13;
    public static final int MODF_DECL=14;
    public static final int REL_DECL=15;
    public static final int TYPE_DECL=16;
    public static final int UNIT=17;
    public static final int WS=18;

    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public ModelLexer() {} 
    public ModelLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public ModelLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "src/main/resources/Model.g"; }

    // $ANTLR start "T__19"
    public final void mT__19() throws RecognitionException {
        try {
            int _type = T__19;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:4:7: ( '\"' )
            // src/main/resources/Model.g:4:9: '\"'
            {
            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__19"

    // $ANTLR start "T__20"
    public final void mT__20() throws RecognitionException {
        try {
            int _type = T__20;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:5:7: ( '(' )
            // src/main/resources/Model.g:5:9: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__20"

    // $ANTLR start "T__21"
    public final void mT__21() throws RecognitionException {
        try {
            int _type = T__21;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:6:7: ( ')' )
            // src/main/resources/Model.g:6:9: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__21"

    // $ANTLR start "T__22"
    public final void mT__22() throws RecognitionException {
        try {
            int _type = T__22;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:7:7: ( ',' )
            // src/main/resources/Model.g:7:9: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__22"

    // $ANTLR start "T__23"
    public final void mT__23() throws RecognitionException {
        try {
            int _type = T__23;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:8:7: ( '.' )
            // src/main/resources/Model.g:8:9: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__23"

    // $ANTLR start "T__24"
    public final void mT__24() throws RecognitionException {
        try {
            int _type = T__24;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:9:7: ( ';' )
            // src/main/resources/Model.g:9:9: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__24"

    // $ANTLR start "T__25"
    public final void mT__25() throws RecognitionException {
        try {
            int _type = T__25;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:10:7: ( '=' )
            // src/main/resources/Model.g:10:9: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__25"

    // $ANTLR start "T__26"
    public final void mT__26() throws RecognitionException {
        try {
            int _type = T__26;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:11:7: ( '[]' )
            // src/main/resources/Model.g:11:9: '[]'
            {
            match("[]"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__26"

    // $ANTLR start "T__27"
    public final void mT__27() throws RecognitionException {
        try {
            int _type = T__27;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:12:7: ( 'abstract' )
            // src/main/resources/Model.g:12:9: 'abstract'
            {
            match("abstract"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__27"

    // $ANTLR start "T__28"
    public final void mT__28() throws RecognitionException {
        try {
            int _type = T__28;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:13:7: ( 'class' )
            // src/main/resources/Model.g:13:9: 'class'
            {
            match("class"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__28"

    // $ANTLR start "T__29"
    public final void mT__29() throws RecognitionException {
        try {
            int _type = T__29;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:14:7: ( 'extends' )
            // src/main/resources/Model.g:14:9: 'extends'
            {
            match("extends"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__29"

    // $ANTLR start "T__30"
    public final void mT__30() throws RecognitionException {
        try {
            int _type = T__30;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:15:7: ( 'implements' )
            // src/main/resources/Model.g:15:9: 'implements'
            {
            match("implements"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__30"

    // $ANTLR start "T__31"
    public final void mT__31() throws RecognitionException {
        try {
            int _type = T__31;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:16:7: ( 'import' )
            // src/main/resources/Model.g:16:9: 'import'
            {
            match("import"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__31"

    // $ANTLR start "T__32"
    public final void mT__32() throws RecognitionException {
        try {
            int _type = T__32;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:17:7: ( 'interface' )
            // src/main/resources/Model.g:17:9: 'interface'
            {
            match("interface"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__32"

    // $ANTLR start "T__33"
    public final void mT__33() throws RecognitionException {
        try {
            int _type = T__33;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:18:7: ( 'null' )
            // src/main/resources/Model.g:18:9: 'null'
            {
            match("null"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__33"

    // $ANTLR start "T__34"
    public final void mT__34() throws RecognitionException {
        try {
            int _type = T__34;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:19:7: ( 'package' )
            // src/main/resources/Model.g:19:9: 'package'
            {
            match("package"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__34"

    // $ANTLR start "T__35"
    public final void mT__35() throws RecognitionException {
        try {
            int _type = T__35;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:20:7: ( 'public' )
            // src/main/resources/Model.g:20:9: 'public'
            {
            match("public"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__35"

    // $ANTLR start "T__36"
    public final void mT__36() throws RecognitionException {
        try {
            int _type = T__36;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:21:7: ( 'static' )
            // src/main/resources/Model.g:21:9: 'static'
            {
            match("static"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__36"

    // $ANTLR start "T__37"
    public final void mT__37() throws RecognitionException {
        try {
            int _type = T__37;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:22:7: ( '{' )
            // src/main/resources/Model.g:22:9: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__37"

    // $ANTLR start "T__38"
    public final void mT__38() throws RecognitionException {
        try {
            int _type = T__38;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:23:7: ( '}' )
            // src/main/resources/Model.g:23:9: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "T__38"

    // $ANTLR start "IDENTIFIER"
    public final void mIDENTIFIER() throws RecognitionException {
        try {
            int _type = IDENTIFIER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:156:5: ( ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )+ )
            // src/main/resources/Model.g:156:9: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )+
            {
            // src/main/resources/Model.g:156:9: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )+
            int cnt1=0;
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // src/main/resources/Model.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt1 >= 1 ) break loop1;
                        EarlyExitException eee =
                            new EarlyExitException(1, input);
                        throw eee;
                }
                cnt1++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENTIFIER"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:157:5: ( ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+ )
            // src/main/resources/Model.g:157:9: ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+
            {
            // src/main/resources/Model.g:157:9: ( '\\t' | ' ' | '\\r' | '\\n' | '\\u000C' )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0 >= '\t' && LA2_0 <= '\n')||(LA2_0 >= '\f' && LA2_0 <= '\r')||LA2_0==' ') ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // src/main/resources/Model.g:
            	    {
            	    if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||(input.LA(1) >= '\f' && input.LA(1) <= '\r')||input.LA(1)==' ' ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


             _channel = HIDDEN; 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "WS"

    // $ANTLR start "COMMENT"
    public final void mCOMMENT() throws RecognitionException {
        try {
            int _type = COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:161:5: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // src/main/resources/Model.g:161:9: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 



            // src/main/resources/Model.g:162:9: ( options {greedy=false; } : . )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0=='*') ) {
                    int LA3_1 = input.LA(2);

                    if ( (LA3_1=='/') ) {
                        alt3=2;
                    }
                    else if ( ((LA3_1 >= '\u0000' && LA3_1 <= '.')||(LA3_1 >= '0' && LA3_1 <= '\uFFFF')) ) {
                        alt3=1;
                    }


                }
                else if ( ((LA3_0 >= '\u0000' && LA3_0 <= ')')||(LA3_0 >= '+' && LA3_0 <= '\uFFFF')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // src/main/resources/Model.g:162:36: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);


            match("*/"); 



             _channel = HIDDEN; 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMMENT"

    // $ANTLR start "LINE_COMMENT"
    public final void mLINE_COMMENT() throws RecognitionException {
        try {
            int _type = LINE_COMMENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // src/main/resources/Model.g:167:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r\\n' | '\\r' | '\\n' ) | '//' (~ ( '\\n' | '\\r' ) )* )
            int alt7=2;
            alt7 = dfa7.predict(input);
            switch (alt7) {
                case 1 :
                    // src/main/resources/Model.g:167:9: '//' (~ ( '\\n' | '\\r' ) )* ( '\\r\\n' | '\\r' | '\\n' )
                    {
                    match("//"); 



                    // src/main/resources/Model.g:167:14: (~ ( '\\n' | '\\r' ) )*
                    loop4:
                    do {
                        int alt4=2;
                        int LA4_0 = input.LA(1);

                        if ( ((LA4_0 >= '\u0000' && LA4_0 <= '\t')||(LA4_0 >= '\u000B' && LA4_0 <= '\f')||(LA4_0 >= '\u000E' && LA4_0 <= '\uFFFF')) ) {
                            alt4=1;
                        }


                        switch (alt4) {
                    	case 1 :
                    	    // src/main/resources/Model.g:
                    	    {
                    	    if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop4;
                        }
                    } while (true);


                    // src/main/resources/Model.g:167:29: ( '\\r\\n' | '\\r' | '\\n' )
                    int alt5=3;
                    int LA5_0 = input.LA(1);

                    if ( (LA5_0=='\r') ) {
                        int LA5_1 = input.LA(2);

                        if ( (LA5_1=='\n') ) {
                            alt5=1;
                        }
                        else {
                            alt5=2;
                        }
                    }
                    else if ( (LA5_0=='\n') ) {
                        alt5=3;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 5, 0, input);

                        throw nvae;

                    }
                    switch (alt5) {
                        case 1 :
                            // src/main/resources/Model.g:167:30: '\\r\\n'
                            {
                            match("\r\n"); 



                            }
                            break;
                        case 2 :
                            // src/main/resources/Model.g:167:39: '\\r'
                            {
                            match('\r'); 

                            }
                            break;
                        case 3 :
                            // src/main/resources/Model.g:167:46: '\\n'
                            {
                            match('\n'); 

                            }
                            break;

                    }


                    _channel = HIDDEN;

                    }
                    break;
                case 2 :
                    // src/main/resources/Model.g:168:9: '//' (~ ( '\\n' | '\\r' ) )*
                    {
                    match("//"); 



                    // src/main/resources/Model.g:168:14: (~ ( '\\n' | '\\r' ) )*
                    loop6:
                    do {
                        int alt6=2;
                        int LA6_0 = input.LA(1);

                        if ( ((LA6_0 >= '\u0000' && LA6_0 <= '\t')||(LA6_0 >= '\u000B' && LA6_0 <= '\f')||(LA6_0 >= '\u000E' && LA6_0 <= '\uFFFF')) ) {
                            alt6=1;
                        }


                        switch (alt6) {
                    	case 1 :
                    	    // src/main/resources/Model.g:
                    	    {
                    	    if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||(input.LA(1) >= '\u000B' && input.LA(1) <= '\f')||(input.LA(1) >= '\u000E' && input.LA(1) <= '\uFFFF') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop6;
                        }
                    } while (true);


                    _channel = HIDDEN;

                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LINE_COMMENT"

    public void mTokens() throws RecognitionException {
        // src/main/resources/Model.g:1:8: ( T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | IDENTIFIER | WS | COMMENT | LINE_COMMENT )
        int alt8=24;
        alt8 = dfa8.predict(input);
        switch (alt8) {
            case 1 :
                // src/main/resources/Model.g:1:10: T__19
                {
                mT__19(); 


                }
                break;
            case 2 :
                // src/main/resources/Model.g:1:16: T__20
                {
                mT__20(); 


                }
                break;
            case 3 :
                // src/main/resources/Model.g:1:22: T__21
                {
                mT__21(); 


                }
                break;
            case 4 :
                // src/main/resources/Model.g:1:28: T__22
                {
                mT__22(); 


                }
                break;
            case 5 :
                // src/main/resources/Model.g:1:34: T__23
                {
                mT__23(); 


                }
                break;
            case 6 :
                // src/main/resources/Model.g:1:40: T__24
                {
                mT__24(); 


                }
                break;
            case 7 :
                // src/main/resources/Model.g:1:46: T__25
                {
                mT__25(); 


                }
                break;
            case 8 :
                // src/main/resources/Model.g:1:52: T__26
                {
                mT__26(); 


                }
                break;
            case 9 :
                // src/main/resources/Model.g:1:58: T__27
                {
                mT__27(); 


                }
                break;
            case 10 :
                // src/main/resources/Model.g:1:64: T__28
                {
                mT__28(); 


                }
                break;
            case 11 :
                // src/main/resources/Model.g:1:70: T__29
                {
                mT__29(); 


                }
                break;
            case 12 :
                // src/main/resources/Model.g:1:76: T__30
                {
                mT__30(); 


                }
                break;
            case 13 :
                // src/main/resources/Model.g:1:82: T__31
                {
                mT__31(); 


                }
                break;
            case 14 :
                // src/main/resources/Model.g:1:88: T__32
                {
                mT__32(); 


                }
                break;
            case 15 :
                // src/main/resources/Model.g:1:94: T__33
                {
                mT__33(); 


                }
                break;
            case 16 :
                // src/main/resources/Model.g:1:100: T__34
                {
                mT__34(); 


                }
                break;
            case 17 :
                // src/main/resources/Model.g:1:106: T__35
                {
                mT__35(); 


                }
                break;
            case 18 :
                // src/main/resources/Model.g:1:112: T__36
                {
                mT__36(); 


                }
                break;
            case 19 :
                // src/main/resources/Model.g:1:118: T__37
                {
                mT__37(); 


                }
                break;
            case 20 :
                // src/main/resources/Model.g:1:124: T__38
                {
                mT__38(); 


                }
                break;
            case 21 :
                // src/main/resources/Model.g:1:130: IDENTIFIER
                {
                mIDENTIFIER(); 


                }
                break;
            case 22 :
                // src/main/resources/Model.g:1:141: WS
                {
                mWS(); 


                }
                break;
            case 23 :
                // src/main/resources/Model.g:1:144: COMMENT
                {
                mCOMMENT(); 


                }
                break;
            case 24 :
                // src/main/resources/Model.g:1:152: LINE_COMMENT
                {
                mLINE_COMMENT(); 


                }
                break;

        }

    }


    protected DFA7 dfa7 = new DFA7(this);
    protected DFA8 dfa8 = new DFA8(this);
    static final String DFA7_eotS =
        "\2\uffff\2\5\2\uffff";
    static final String DFA7_eofS =
        "\6\uffff";
    static final String DFA7_minS =
        "\2\57\2\0\2\uffff";
    static final String DFA7_maxS =
        "\2\57\2\uffff\2\uffff";
    static final String DFA7_acceptS =
        "\4\uffff\1\1\1\2";
    static final String DFA7_specialS =
        "\2\uffff\1\0\1\1\2\uffff}>";
    static final String[] DFA7_transitionS = {
            "\1\1",
            "\1\2",
            "\12\3\1\4\2\3\1\4\ufff2\3",
            "\12\3\1\4\2\3\1\4\ufff2\3",
            "",
            ""
    };

    static final short[] DFA7_eot = DFA.unpackEncodedString(DFA7_eotS);
    static final short[] DFA7_eof = DFA.unpackEncodedString(DFA7_eofS);
    static final char[] DFA7_min = DFA.unpackEncodedStringToUnsignedChars(DFA7_minS);
    static final char[] DFA7_max = DFA.unpackEncodedStringToUnsignedChars(DFA7_maxS);
    static final short[] DFA7_accept = DFA.unpackEncodedString(DFA7_acceptS);
    static final short[] DFA7_special = DFA.unpackEncodedString(DFA7_specialS);
    static final short[][] DFA7_transition;

    static {
        int numStates = DFA7_transitionS.length;
        DFA7_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA7_transition[i] = DFA.unpackEncodedString(DFA7_transitionS[i]);
        }
    }

    class DFA7 extends DFA {

        public DFA7(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 7;
            this.eot = DFA7_eot;
            this.eof = DFA7_eof;
            this.min = DFA7_min;
            this.max = DFA7_max;
            this.accept = DFA7_accept;
            this.special = DFA7_special;
            this.transition = DFA7_transition;
        }
        public String getDescription() {
            return "166:1: LINE_COMMENT : ( '//' (~ ( '\\n' | '\\r' ) )* ( '\\r\\n' | '\\r' | '\\n' ) | '//' (~ ( '\\n' | '\\r' ) )* );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            IntStream input = _input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA7_2 = input.LA(1);

                        s = -1;
                        if ( ((LA7_2 >= '\u0000' && LA7_2 <= '\t')||(LA7_2 >= '\u000B' && LA7_2 <= '\f')||(LA7_2 >= '\u000E' && LA7_2 <= '\uFFFF')) ) {s = 3;}

                        else if ( (LA7_2=='\n'||LA7_2=='\r') ) {s = 4;}

                        else s = 5;

                        if ( s>=0 ) return s;
                        break;
                    case 1 : 
                        int LA7_3 = input.LA(1);

                        s = -1;
                        if ( (LA7_3=='\n'||LA7_3=='\r') ) {s = 4;}

                        else if ( ((LA7_3 >= '\u0000' && LA7_3 <= '\t')||(LA7_3 >= '\u000B' && LA7_3 <= '\f')||(LA7_3 >= '\u000E' && LA7_3 <= '\uFFFF')) ) {s = 3;}

                        else s = 5;

                        if ( s>=0 ) return s;
                        break;
            }
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 7, _s, input);
            error(nvae);
            throw nvae;
        }

    }
    static final String DFA8_eotS =
        "\11\uffff\7\22\5\uffff\11\22\2\uffff\17\22\1\71\4\22\1\76\4\22\1"+
        "\uffff\4\22\1\uffff\2\22\1\111\2\22\1\114\1\115\1\22\1\117\1\22"+
        "\1\uffff\1\22\1\122\2\uffff\1\123\1\uffff\2\22\2\uffff\1\22\1\127"+
        "\1\130\2\uffff";
    static final String DFA8_eofS =
        "\131\uffff";
    static final String DFA8_minS =
        "\1\11\10\uffff\1\142\1\154\1\170\1\155\1\165\1\141\1\164\4\uffff"+
        "\1\52\1\163\1\141\1\164\1\160\1\164\1\154\1\143\1\142\1\141\2\uffff"+
        "\1\164\1\163\1\145\1\154\1\145\1\154\1\153\1\154\1\164\1\162\1\163"+
        "\1\156\1\145\2\162\1\60\1\141\2\151\1\141\1\60\1\144\1\155\1\164"+
        "\1\146\1\uffff\1\147\3\143\1\uffff\1\163\1\145\1\60\1\141\1\145"+
        "\2\60\1\164\1\60\1\156\1\uffff\1\143\1\60\2\uffff\1\60\1\uffff\1"+
        "\164\1\145\2\uffff\1\163\2\60\2\uffff";
    static final String DFA8_maxS =
        "\1\175\10\uffff\1\142\1\154\1\170\1\156\2\165\1\164\4\uffff\1\57"+
        "\1\163\1\141\1\164\1\160\1\164\1\154\1\143\1\142\1\141\2\uffff\1"+
        "\164\1\163\1\145\1\157\1\145\1\154\1\153\1\154\1\164\1\162\1\163"+
        "\1\156\1\145\2\162\1\172\1\141\2\151\1\141\1\172\1\144\1\155\1\164"+
        "\1\146\1\uffff\1\147\3\143\1\uffff\1\163\1\145\1\172\1\141\1\145"+
        "\2\172\1\164\1\172\1\156\1\uffff\1\143\1\172\2\uffff\1\172\1\uffff"+
        "\1\164\1\145\2\uffff\1\163\2\172\2\uffff";
    static final String DFA8_acceptS =
        "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\7\uffff\1\23\1\24\1\25"+
        "\1\26\12\uffff\1\27\1\30\31\uffff\1\17\4\uffff\1\12\12\uffff\1\15"+
        "\2\uffff\1\21\1\22\1\uffff\1\13\2\uffff\1\20\1\11\3\uffff\1\16\1"+
        "\14";
    static final String DFA8_specialS =
        "\131\uffff}>";
    static final String[] DFA8_transitionS = {
            "\2\23\1\uffff\2\23\22\uffff\1\23\1\uffff\1\1\5\uffff\1\2\1\3"+
            "\2\uffff\1\4\1\uffff\1\5\1\24\12\22\1\uffff\1\6\1\uffff\1\7"+
            "\3\uffff\32\22\1\10\5\uffff\1\11\1\22\1\12\1\22\1\13\3\22\1"+
            "\14\4\22\1\15\1\22\1\16\2\22\1\17\7\22\1\20\1\uffff\1\21",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\25",
            "\1\26",
            "\1\27",
            "\1\30\1\31",
            "\1\32",
            "\1\33\23\uffff\1\34",
            "\1\35",
            "",
            "",
            "",
            "",
            "\1\36\4\uffff\1\37",
            "\1\40",
            "\1\41",
            "\1\42",
            "\1\43",
            "\1\44",
            "\1\45",
            "\1\46",
            "\1\47",
            "\1\50",
            "",
            "",
            "\1\51",
            "\1\52",
            "\1\53",
            "\1\54\2\uffff\1\55",
            "\1\56",
            "\1\57",
            "\1\60",
            "\1\61",
            "\1\62",
            "\1\63",
            "\1\64",
            "\1\65",
            "\1\66",
            "\1\67",
            "\1\70",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "\1\72",
            "\1\73",
            "\1\74",
            "\1\75",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "\1\77",
            "\1\100",
            "\1\101",
            "\1\102",
            "",
            "\1\103",
            "\1\104",
            "\1\105",
            "\1\106",
            "",
            "\1\107",
            "\1\110",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "\1\112",
            "\1\113",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "\1\116",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "\1\120",
            "",
            "\1\121",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "",
            "",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "",
            "\1\124",
            "\1\125",
            "",
            "",
            "\1\126",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "\12\22\7\uffff\32\22\6\uffff\32\22",
            "",
            ""
    };

    static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
    static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
    static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
    static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
    static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
    static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
    static final short[][] DFA8_transition;

    static {
        int numStates = DFA8_transitionS.length;
        DFA8_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);
        }
    }

    class DFA8 extends DFA {

        public DFA8(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 8;
            this.eot = DFA8_eot;
            this.eof = DFA8_eof;
            this.min = DFA8_min;
            this.max = DFA8_max;
            this.accept = DFA8_accept;
            this.special = DFA8_special;
            this.transition = DFA8_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | IDENTIFIER | WS | COMMENT | LINE_COMMENT );";
        }
    }
 

}